The present invention relates to the field of information technology, including, more particularly, systems and techniques for ordering scripting language source code.
In web 2.0 based user interface (UI) applications, application logic may be implemented in client side scripting language source code. While loading the application in a web browser, the web browser typically downloads scripting language resources, such as JavaScript libraries, from an application server. The web browser subsequently interprets and executes the scripting language resources in order of appearance.
The UI application may be an enterprise application. An enterprise application may be enterprise software that is used to offer services from a cloud-based environment. Thus, employees of an organization, such as an enterprise, may use an enterprise application for a particular service, such as a business-oriented tool, that enables the organization to perform business activities. In enterprise applications, scripting language resources may be organized as modules and classes. The modules may be stored in separate files. The scripting language resources in the enterprise application may depend on various other scripting language resources. The web browser may load the scripting language resources in order of dependency so that the web browser may interpret and execute the scripting language resources successfully. If scripting language resources are not available or interpreted and executed out of order, dependency related errors may occur because a function or process that is being executed might not yet have access to one or more resources that it depends on.
Enterprise applications may be customizable and extendable. Thus, they may provide mechanisms to add custom functionalities (e.g. custom components and resources) into the enterprise application. These custom functionalities are commonly implemented in client side scripting language source code. However, conventional enterprise applications are limited because they cannot resolve dependencies for scripting language resources efficiently and using few network requests, such as hypertext transfer protocol (HTTP) requests. Thus, web browsers are not able to successfully interpret and execute scripting language resources associated with components of the enterprise application, such as custom components and newly added functionalities.